#include<SDL.h>
#include<stdio.h>
#include<stdlib.h>

int affiche_fond_ecran()
{
    /* initialisation du SDL Video*/
    if ( SDL_Init( SDL_INIT_VIDEO ) < 0 )
    {
        printf( "Erreur initialisaion de SDL: %s\n", SDL_GetError() );
        return 1;
    }

    /* Verifier si SDL elibere la memoire alouee quand elle ferme */
    atexit(SDL_Quit);

    /* Creation d'une nouvelle fenentre de video */
    SDL_Surface* ecran = SDL_SetVideoMode(900, 700, 32,SDL_HWSURFACE);
    if ( !ecran )
    {
        printf("Echec de creation de lecran video: %s\n", SDL_GetError());
        return 1;
    }

    // load an image
    SDL_Surface* bmp_image = SDL_LoadBMP("output.bmp");
    if (!bmp_image)
    {
        printf("Erreur de chargement du bitmap: %s\n", SDL_GetError());
        return 1;
    }

    /* Posons le bitmap sur l'ecran */
    SDL_Rect dstrect;
    SDL_Rect srcrect;

  srcrect.x = 0;
  srcrect.y = 0;
  srcrect.w = bmp_image->w;
  srcrect.h = bmp_image->h;

  dstrect.x = 0;
  dstrect.y = 0;
  dstrect.w = bmp_image->w;
  dstrect.h = bmp_image->h;


    int bon = 0;
    while (!bon)
    {
        SDL_Event event;
        while (SDL_PollEvent(&event))
        {
            switch (event.type)
            {
               case SDL_QUIT:
                              bon = 1;
                              break;


               case SDL_KEYDOWN:
                {
                    /* sortie si la touche echapper est appuie */
                    if (event.key.keysym.sym == SDLK_ESCAPE)
                        bon = 1;
                    break;
                }
            }
        }

        /* Effacer l'ecran si avant il y avait quelquechose */
        SDL_FillRect(ecran, 0, SDL_MapRGB(ecran->format, 255, 233, 0));

        /* Dessine image sur l'ecran */
        SDL_BlitSurface(bmp_image, &srcrect, ecran, &dstrect);

      SDL_Flip(ecran);
    }

    /*Eliberation de la memoire pour l'ecran */
    SDL_FreeSurface(bmp_image);

    printf("Sortie avec succes \n");
    return 0;
}
